<?php

    class Nucleo extends CI_Controller{
        
        function index(){
            $this->estaLogado();
            redirect('nucleo/listarNucleos');              
        }
        
        function estaLogado(){
            $id = $this->session->userdata('pessoa_id');
            if(empty($id)){
                redirect('pessoa/login');
            }else{
                $this->temAvaliacoes($id);
            }
        }
        
        function temAvaliacoes($id){
            $this->load->model('pessoaModel');
            $aval = $this->pessoaModel->temAvaliacoes($id);
            $this->session->set_userdata('avaliacoes', $aval);
            return true;
        }
        
        function listarNucleos(){
            $this->load->model('nucleoModel');
            $dados['nucleos'] = $this->nucleoModel->getNucleos();
            
            foreach ($dados['nucleos'] as $nucleo){
                $nucleo->gerente = $this->nucleoModel->getGerenteNucleo($nucleo->gerente_id);
            }
            
            $this->load->view('nucleo/listarNucleos', $dados);
        }
        
        function listarMembrosNucleo(){
            $this->load->model('nucleoModel');
            
            $dados['nucleo_id'] = $this->uri->segment(3);
            $dados['nucleo'] = $this->nucleoModel->getNucleo($dados['nucleo_id']);
            $dados['membros'] = $this->nucleoModel->getMembrosNucleo($dados['nucleo_id']);
            
            $this->load->view('nucleo/membrosNucleo', $dados);        
        }
        
        function cadastrarNucleo(){
            $this->load->model('pessoaModel');
            $dados['dropMembros'] = $this->pessoaModel->dropMembros();
            $this->load->view('nucleo/cadastrarNucleo', $dados);
        }
        
        function cadastrandoNucleo(){
            $this->load->model('nucleoModel');
            $this->load->model('pessoaModel');
            
            $dados['nucleo'] = $this->input->post('nome');
            $dados['gerente_id'] = $this->input->post('gerente');
            $membros = $this->input->post('membros');
            
            $add['Nucleo_id'] = $this->nucleoModel->cadastrarNucleo($dados);
            
            foreach ($membros as $membro){
                $add['id'] = $this->nucleoModel->converteNomeParaId($membro);
                $this->pessoaModel->editarMembro($add);
            }
            $add['id'] = $dados['gerente_id'];
            $this->pessoaModel->editarMembro($add);
            
            redirect('nucleo/listarNucleos');
        }
        
        function editarNucleo(){
            $this->load->model('nucleoModel');
            $this->load->model('pessoaModel');
            $id = $this->uri->segment(3);
            
            $dados['dropMembros'] = $this->pessoaModel->dropMembros();
            $dados['nucleo'] = $this->nucleoModel->getNucleo($id);
            
            $this->load->view('nucleo/editarNucleo',$dados);            
        }
        
        function editandoNucleo(){
            $this->load->model('nucleoModel');
            
            $dados['id'] = $this->input->post('id');
            $dados['nucleo'] = $this->input->post('nome');
            $dados['gerente_id'] = $this->input->post('gerente');
            
            $this->nucleoModel->editarNucleo($dados);
            redirect('nucleo/listarNucleos');
        }
        
        function excluirNucleo(){
            $this->load->model('nucleoModel');
            $id = $this->uri->segment(3);
            
            $this->nucleoModel->excluirNucleo($id);
            return true;
        }
        
        function adicionarMembroNucleo(){
            $this->load->model('nucleoModel');
            
            $dados['nucleo_id'] = $this->uri->segment(3);
            $dados['membros'] = $this->nucleoModel->dropMembrosSemNucleo();
            
            $this->load->view('nucleo/adicionarMembroNucleo', $dados);
        }
        
        function adicionandoMembroNucleo(){
            $this->load->model('nucleoModel');
            
            $dados['Nucleo_id'] = $this->input->post('nucleo');
            $membro = $this->input->post('membro');
            
            $this->nucleoModel->adicionarMembroNucleo($dados, $membro);
            
            redirect('nucleo/listarMembrosNucleo/'.$dados['Nucleo_id']);
        }
        
        function retirarMembroNucleo(){
            $this->load->model('nucleoModel');
            $id = $this->uri->segment(3);
            
            $this->nucleoModel->retirarMembroNucleo($id);
            return true;
        }
    }

?>